// 分类列表获取云函数
const db = uniCloud.database();
const _ = db.command;

exports.main = async (event, context) => {
  try {
    // 查询分类集合
    const res = await db.collection('category')
      .orderBy('sort', 'asc') // 按排序字段升序排列
      .get();
    
    // 如果没有数据，返回默认分类
    if (res.data.length === 0) {
      // 默认分类数据
      const defaultCategories = [
        { _id: 'woman', name: '明星美女', icon: '💃', color: '#f5222d', sort: 1 },
        { _id: 'anime', name: '可爱萌宠', icon: '🐶', color: '#faad14', sort: 2 },
        { _id: 'art', name: '风景', icon: '🏙', color: '#52c41a', sort: 3 },
        { _id: 'star', name: '天文', icon: '🛸', color: '#1890ff', sort: 4 },
        { _id: 'car', name: '汽车', icon: '🚗', color: '#722ed1', sort: 5 },
        { _id: 'junshi', name: '军事迷', icon: '🚀', color: '#13c2c2', sort: 6 },
        { _id: 'phone', name: '手机自带', icon: '📱', color: '#eb2f96', sort: 7 },
        { _id: 'book', name: '电脑壁纸', icon: '💻', color: '#ec2e99', sort: 8 },
        { _id: 'man', name: '帅哥', icon: '🕺', color: '#18a0ff', sort: 9 },
        { _id: 'other', name: '其他', icon: '🖼', color: '#8c8c8c', sort: 10}
      ];
      
      // 尝试创建分类集合（如果不存在）
      try {
        // 检查是否有category集合
        const collections = await db.collection('collection').get();
        const hasCategoryCollection = collections.data.some(col => col.name === 'category');
        
        // 如果没有，创建集合并插入默认数据
        if (!hasCategoryCollection) {
          await db.createCollection('category');
          
          // 批量插入默认分类
          for (const category of defaultCategories) {
            try {
              await db.collection('category').add(category);
            } catch (addError) {
              console.warn(`插入默认分类失败: ${category.name}`, addError);
            }
          }
        }
      } catch (initError) {
        console.warn('初始化分类集合失败', initError);
      }
      
      return {
        code: 0,
        message: '获取分类成功',
        data: defaultCategories
      };
    }
    
    // 返回查询结果
    return {
      code: 0,
      message: '获取分类成功',
      data: res.data
    };
  } catch (error) {
    console.error('获取分类失败:', error);
    
    // 出错时返回默认分类
    const defaultCategories = [
     { _id: 'woman', name: '明星美女', icon: '💃', color: '#f5222d', sort: 1 },
     { _id: 'anime', name: '可爱萌宠', icon: '🐶', color: '#faad14', sort: 2 },
     { _id: 'art', name: '风景', icon: '🏙', color: '#52c41a', sort: 3 },
     { _id: 'star', name: '天文', icon: '🛸', color: '#1890ff', sort: 4 },
     { _id: 'car', name: '汽车', icon: '🚗', color: '#722ed1', sort: 5 },
     { _id: 'junshi', name: '军事迷', icon: '🚀', color: '#13c2c2', sort: 6 },
     { _id: 'phone', name: '手机自带', icon: '📱', color: '#eb2f96', sort: 7 },
     { _id: 'book', name: '电脑壁纸', icon: '💻', color: '#ec2e99', sort: 8 },
     { _id: 'man', name: '帅哥', icon: '🕺', color: '#18a0ff', sort: 9 },
     { _id: 'other', name: '其他', icon: '🖼', color: '#8c8c8c', sort: 10}
    ];
    
    return {
      code: 0,
      message: '获取分类成功',
      data: defaultCategories
    };
  }
};